package spring.data.jpa.repository.support.template;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

import com.slyak.spring.jpa.NamedTemplateResolver;
import com.slyak.spring.jpa.SftlNamedTemplateResolver;

@Target({ ElementType.TYPE })
@Retention(RetentionPolicy.RUNTIME)
public @interface TemplateSupport {

    /**
     * <p>描述: 模板文件，可以支持多个相对于跟路径的相对路径，如果多个模板有重复的查询名称，以第一个模板为主
     * @since 2019年11月23日 下午3:38:22
     * @author wangjie
     * @return
     */
    String[] name() default {};
    
    /**
     * <p>描述: 模板解析器
     * @since 2019年11月23日 下午3:39:34
     * @author wangjie
     * @return
     */
    Class<? extends NamedTemplateResolver> resolver() default SftlNamedTemplateResolver.class;
}
